/** 指令枚举 */
enum IBusinessName {
	SCREEN_SHOT = 'screenshot',
	SCREEN_SHARE = 'screenShare',
	SEND_LINK = 'sendLink',
	SEND_VIDEO_LINK = 'sendVideoLink',
	SEND_SCANNER_CODE = 'sendScannerCode',
	CANCEL_SCANNER_CODE = 'cancelScannerCode',
	REQUEST_GEO_LOCATION = 'requestGeoLocation',
	FACE_COMPARE = 'faceCompare',
	SNAP_SHOT = 'snapShot',
	RECORD_SCREEN = 'recordScreen',
	CARD_COMPARE = 'cardCompare',
	SCREEN_MARK = 'screenMark',
	GET_GEO_LOCATION = 'getGeoLocaltion',
	SEND_SIGN = 'sendSign',
	FILL_FORM = 'fillForm',
	SEND_PDF = 'sendPDF',
	REGIONAL_SCREEN_RECORDING = 'regionalScreenRecording',
	SEND_KNOWLEDGE_BASE = 'sendKnowledgeBase'
}

enum IBusinessStatus {
	IDLE = 'idle',
	START = 'start',
	IN_PROGRESS = 'in-progress',
	REJECTED = 'rejected',
	CANCEL = 'cancel',
	FAILED = 'failed',
	DONE = 'done'
}

export interface IClient {
	id: number | string;
	label: string;
	audioOnly: boolean;
	clientId: string;
	videoId: string;
	muteStatus: boolean;
	streamMode: IStreamMode;
	role: 'customer';
	isScreenSyncMode: boolean;
	userName: string;
}

export interface IAgent {
	id: number | string | undefined;
	label: string;
	audioOnly: boolean;
	clientId: string;
	videoId: string;
	muteStatus: boolean;
	streamMode: IStreamMode;
	role: string;
	isScreenSyncMode: boolean;
	userName: string;
}

export interface IUser {
	id?: number | string;
	clientId?: string;
	gender?: string;
	org?: string;
	userName?: string;
	isRobot?: boolean;
	level?: null | number;
	isDisabled?: string;
}

export type IStreamMode = 'audio' | 'video';

export { IBusinessName, IBusinessStatus };
